package com.dylan.elasticsearch.entity;

import lombok.Data;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.*;
import java.time.LocalDate;
import java.util.Date;

/**
 * @author zhangshaojian
 * @date 2023/4/25/025 16:44
 */
@Entity
@Data
@Table(name = "tb_remark_result")
@EntityListeners(AuditingEntityListener.class)
@Document(indexName = "remark_result")
public class RemarkResult {


    @Id
    @org.springframework.data.annotation.Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    private Long id;
    /**
     * 商标名称
     */
    private String similarRemark;
    /**
     * 国家
     */
    private String resultCountry;
    /**
     * 大类类目
     */
    private String resultClassNum;
    /**
     * 有空格字符长度
     */
    private Integer lengthWithSpace;
    /**
     * 无空格字符长度
     */
    private Integer lengthWithoutSpace;
    /**
     * 商标状态(AnnouncementPeriod=公告期 AuditPeriod=审核期 Active=已注册 Inactive=已失效(已核销) Pending-注册中 RegistrationFail=注册异常)
     */
    private String remarkStatus;
    /**
     * number受理号
     */
    private String remarkNumber;
    /**
     * 商标文件信息列表
     */
    private String remarkFiles;
    /**
     * 受理日期
     */
    @Field(type = FieldType.Date,
            format = DateFormat.custom, pattern = "yyyy-MM-dd"
    )
    private LocalDate remarkDate;
    /**
     * 商标图片URL
     */
    private String imageUrl;
    /**
     * OSS商标图片URL
     */
    private String ossImageUrl;
    /**
     * origin国家美国=US
     */
    private String resultOrigin;
    /**
     * holder
     */
    private String resultHolder;
    /**
     * holder country国家美国=US
     */
    private String holderCountry;
    /**
     * 完整的商标名称，为了保存个别很长的商标
     */
    private String allSimilarRemark;
    /**
     * 商标使用期限
     */
    @Field(type = FieldType.Date,
            format = DateFormat.custom, pattern = "yyyy-MM-dd"
    )
    private LocalDate remarkUseDate;
    /**
     * 申请日期
     */
    @Field(type = FieldType.Date,
            format = DateFormat.custom, pattern = "yyyy-MM-dd"
    )
    private LocalDate applyDate;
    /**
     * 公告时间
     */
    @Field(type = FieldType.Date,
            format = DateFormat.custom, pattern = "yyyy-MM-dd"
    )
    private LocalDate publicationDate;
    /**
     * 大类类目名称
     */
    private String resultClassName;
    /**
     * 申请人姓名
     */
    private String ownerName;
    /**
     * 注册日期
     */
    private String regDate;
    /**
     * 过期日期
     */
    private String expDate;
    /**
     * 抓取数据时间
     */
    @Field(type = FieldType.Date,
            format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date getDataTime;
    /**
     * 来源渠道
     */
    private String sourceChannel;
    /**
     * 申请号
     */
    private String serialNumber;
    /**
     * 注册号
     */
    private String registrationNumber;
    /**
     * 商标小类类目
     */
    private String remarkSmallCategory;
    /**
     * 申请人地址
     */
    private String ownerAddress;
    /**
     * 律师姓名
     */
    private String attorneyName;
    /**
     * 商标流程
     */
    private String remarkFlows;
    /**
     * 创建时间
     */
    @Field(type = FieldType.Date,
            format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date createTime;
    /**
     * 更新时间
     */
    @Field(type = FieldType.Date,
            format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date updateTime;
}
